package com.draven.mall.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.draven.mall.entity.Merchant;

import java.util.List;
import java.util.Map;

/**
 * 商家服务接口
 */
public interface MerchantService extends IService<Merchant> {

    /**
     * 商家登录
     *
     * @param username 用户名
     * @param password 密码
     * @return 登录成功返回商家信息，否则返回null
     */
    Merchant login(String username, String password);

    /**
     * 商家注册
     *
     * @param merchant 商家信息
     * @return 注册成功返回商家信息，否则返回null
     */
    Merchant register(Merchant merchant);
    
    /**
     * 获取附近商家列表
     *
     * @param latitude 纬度
     * @param longitude 经度
     * @param categoryId 分类ID
     * @param keyword 搜索关键词
     * @param page 页码
     * @param size 每页大小
     * @return 商家列表和分页信息
     */
    Map<String, Object> getNearbyShops(Double latitude, Double longitude, Long categoryId, 
                                     String keyword, Integer page, Integer size);
    
    /**
     * 获取推荐商家列表
     *
     * @return 推荐商家列表
     */
    List<Merchant> getRecommendedShops();
    
    /**
     * 获取所有商家列表（用于下拉选择）
     *
     * @return 所有商家列表
     */
    List<Map<String, Object>> getAllMerchants();
}
